import time

from selenium.webdriver.common.by import By

from base.base_page import BuyerBasePage


class AddCartPage(BuyerBasePage):
    # 实例属性-管理操作步骤在该页面中所应用到元素定位信息
    def __init__(self):
        # 通过调用super().__init__()，可以确保父类的初始化逻辑被正确执行，然后再添加子类特定的初始化逻辑。
        super().__init__()

        # 商品名称
        self.name = (By.XPATH, "//*[contains(text(),'帕森（PARZIN）太阳镜女款墨镜 复古大框时尚偏光太阳眼镜')]")

        # 加入购物车按钮
        self.button = (By.ID, "join_cart")
        # iframe标签
        self.frame_flag = (By.CSS_SELECTOR, "[id*='layui-layer-iframe']")

    # 实例方法(业务操作层)-封装测试用例在该页面的操作步骤
    def add_cart_page(self):
        # 点击商品名称进入商品详情页
        self.find_el(self.name).click()
        time.sleep(2)
        # 点击加入购物车按钮
        self.find_el(self.button).click()
        # frame切换,调用父类切换frame方法
        self.switch_frame(self.find_el(self.frame_flag))
